function StructDataDictGen(filename) 
structDefs = StructParse(filename);
for idx = 1:length(structDefs)
    structDef  = structDefs{idx};
    structName = structDef.structName;
    structInfo = structDef.signalInfo;
    tmp_Bus = Simulink.Bus;
    tmp_Bus.Description = '';
    tmp_Bus.DataScope = 'Auto';
    tmp_Bus.HeaderFile = '';
    tmp_Bus.Alignment = -1;
    tmp_Bus.PreserveElementDimensions = false;
    structInfo_1 = structInfo{1};
    signalName = structInfo_1.signal;
    signalType = structInfo_1.type;
    isStruct   = structInfo_1.isStruct;
    signalDim  = structInfo_1.dimension;
    saveVarsTmp{1} = Simulink.BusElement;
    saveVarsTmp{1}.Name = signalName;
    saveVarsTmp{1}.Complexity = 'real';
    saveVarsTmp{1}.Dimensions = [signalDim,1];
    if isStruct
        saveVarsTmp{1}.DataType = ['Bus: ',signalType];
    else
        saveVarsTmp{1}.DataType = signalType;
    end
    saveVarsTmp{1}.Min = [];
    saveVarsTmp{1}.Max = [];
    saveVarsTmp{1}.DimensionsMode = 'Fixed';
    saveVarsTmp{1}.SamplingMode = 'Sample based';
    saveVarsTmp{1}.DocUnits = '';
    saveVarsTmp{1}.Description = '';

    for i = 2:length(structInfo)
        structInfo_i = structInfo{i};
        signalName = structInfo_i.signal;
        signalType = structInfo_i.type;
        isStruct   = structInfo_i.isStruct;
        signalDim  = structInfo_i.dimension;
        saveVarsTmp{1}(i, 1) = Simulink.BusElement;
        saveVarsTmp{1}(i, 1).Name = signalName;
        saveVarsTmp{1}(i, 1).Complexity = 'real';
        saveVarsTmp{1}(i, 1).Dimensions = [signalDim,1];
        if  isStruct
            saveVarsTmp{1}(i, 1).DataType = ['Bus: ',signalType];
        else
            saveVarsTmp{1}(i, 1).DataType = signalType;
        end
        saveVarsTmp{1}(i, 1).Min = [];
        saveVarsTmp{1}(i, 1).Max = [];
        saveVarsTmp{1}(i, 1).DimensionsMode = 'Fixed';
        saveVarsTmp{1}(i, 1).SamplingMode = 'Sample based';
        saveVarsTmp{1}(i, 1).DocUnits = '';
        saveVarsTmp{1}(i, 1).Description = '';
    end
    tmp_Bus.Elements = saveVarsTmp{1};
    assignin('base',structName,tmp_Bus);
end
end